package host.springboot.framework.autoconfigure.aop.properties;

import host.springboot.framework.autoconfigure.KrismileProperties;
import host.springboot.framework.autoconfigure.aop.properties.children.KsRequestLogProperties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;

/**
 * AOP配置文件
 *
 * <pre>{@code
 * # -------------------------------- KrismileConfig --------------------------------
 * krismile:
 *   aop:
 *     # 请求日志配置
 *     request-log:
 *       # 是否启用, 默认为 [true]
 *       enabled: true
 *       # DEBUG模式下打印的请求头名称数组, 忽略大小写, 为 [null] 时将打印所有请求头
 *       debug-print-header-names:
 * }</pre>
 *
 * @author JiYinchuan
 * @since 1.0.0
 */
@Data
@ConfigurationProperties(prefix = KsAopProperties.KEY)
public class KsAopProperties {

    public static final String KEY = KrismileProperties.KEY + "." + "aop";

    /**
     * 请求日志配置文件
     */
    @NestedConfigurationProperty
    private KsRequestLogProperties requestLog = new KsRequestLogProperties();

}
